package com.wiringweb.parameterprocessor;

import java.lang.annotation.Annotation;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @author Dmitry
 */
public abstract class ParameterProcessorInterface {
    public abstract Object process(HttpServletResponse response, HttpServletRequest request, String[] urlParameter, int parameterIndex) throws Exception;

    public abstract ParameterProcessorInterface construct(Class argumentType, Annotation annotation);

    public int getProcessedGroupCount() {
        return 0;
    }

    public boolean useRequestBody() {
        return false;
    }
}
